// pages/goods/detail/detail.js
import {reqGetGoodsDetail,reqAddToCart} from '../../../utils/api'
Page({
  //获取商品详情
  async getGoodsDetail(){
    const {goodsId} = this.data
    const result = await reqGetGoodsDetail(goodsId)
    // console.log(result)
    if(result.code === 200){
      this.setData({
        goodDetail:result.data
      })
    }
  },

  //加入购物车
  handleAddToCart(){
    this.setData({
      show:true,
      isAddCart:true
    })
  },

  //隐藏购物车弹出框
  onClose(){
    this.setData({
      show:false
    })
  },

  //弹出立即购买对话框
  handleBuyNow(){
    this.setData({
      show:true,
      isAddCart:false
    })
  },

  //直接修改商品的数量
  handleChangeCount(e){
    // console.log(e)
    this.setData({
      count:e.detail
    })
  },

  //单击确定，商品加入购物车
  handleConfirm(){
    const {goodsId,blessing,count,isAddCart} = this.data
    //判断祝福语是为空的情况
    if(!blessing.trim()){
      wx.showToast({
        title:'请添加祝福语',
        icon:"error"
      })
      return
    }

    //判断是加入购物车，还是立即购买
    if(isAddCart){
      //加入购物车
      this.addGoodsToCart()
    }else{
      //到订单页面，并携带当前订单的数据
      wx.navigateTo({
        url: `/pages/order/detail/detail?goodsId=${goodsId}&blessing=${blessing}`,
      })
      //关闭弹窗，清空祝福语
      this.setData({
        show:false,
        blessing:''
      })

    }
  },

  //加入购物车
  async addGoodsToCart(){
    const {goodsId,blessing,count} = this.data
    const result = await reqAddToCart({goodsId,blessing,count})
    // console.log(result)
    if(result.code === 200){
      this.setData({
        show:false,
        blessing:''
      })
    }else{
      wx.showToast(result.data)
    }
  },

  /**
   * 页面的初始数据
   */
  data: {
    goodsId:0,//商品id
    goodDetail: {}, //商品详情信息
    show: false, // 是否显示购物车数量对话框
    isAddCart:false, // 是否显示商品的数量
    blessing:'', // 祝福语
    count:1,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // console.log(options)
    this.setData({
      goodsId:options.goodsId
    })
    this.getGoodsDetail()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})